package com.atguigu.jxc.service;

import com.atguigu.jxc.domain.ServiceVO;

import java.util.Map;

/**
 * @author 杨林
 * @create 2023-01-29 23:23 星期日
 * description:
 */
public interface SaleListService {

    /**
     * 销售单查询（可查询条件：销售单号、客户、付款状态）
     * @param saleNumber
     * @param customerId
     * @param state
     * @param sTime
     * @param eTime
     * @return
     */
    Map<String, Object> list(String saleNumber, Integer customerId, Integer state, String sTime, String eTime);

    /**
     * 删除销售单
     * @param saleListId
     * @return
     */
    ServiceVO delete(Integer saleListId);

    /**
     * 支付结算（修改销售单付款状态）
     * @param saleListId
     * @return
     */
    ServiceVO updateState(Integer saleListId);


    /**
     * 销售统计（可根据 商品类别、商品编码或名称 条件查询）
     * @param sTime
     * @param eTime
     * @param goodsTypeId
     * @param codeOrName
     * @return
     */
    String count(String sTime, String eTime, Integer goodsTypeId, String codeOrName);


    /**
     * 按日统计接口
     * @param sTime
     * @param eTime
     * @return
     */
    String getSaleDataByDay(String sTime, String eTime) throws Exception;


    /**
     * 按月统计
     * @param sTime
     * @param eTime
     * @return
     */
    String getSaleDataByMonth(String sTime, String eTime) throws Exception;


}
